
// #ifndef VUE3
import Vue from 'vue'
import App from './App'
import store from '@/store/store.js'

//导入网络请求的包
import { $http } from '@escook/request-miniprogram'

//挂载包到顶级对象
uni.$http = $http

//设置全局根路径
$http.baseUrl = 'https://www.uinav.com'

//给$http挂载一个请求拦截器
$http.beforeRequest = function(options){
  uni.showLoading({
    title: '数据加载中...',
  })
  // 以下都是在请求头里添加 token 身份认证的字段 的处理
  // console.log(store) // 查看 store 对象里面的属性
  // console.log(options) // 查看请求对象是否有 /my/ 字段
  
  //判断当前请求的是否为有权限的接口
  if(options.url.indexOf('/my/') !== -1){//如果包含 /my/ 
    options.header = {//为 header
      Authorization: store.state.m_user.token //添加 Authorization
    }
  }
}

//给$http挂载一个响应拦截器
$http.afterRequest = function(){
  uni.hideLoading()
}

//封装弹窗的方法(在全局中，为uni对象挂载方法)
uni.$showMsg = function(title='数据请求失败!',duration=1500){
  uni.showToast({
    title,
    duration,
    icon: 'none'
  });
}

Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({
    ...App,
    store
})
app.$mount()
// #endif

// #ifdef VUE3
import { createSSRApp } from 'vue'
import App from './App.vue'
export function createApp() {
  const app = createSSRApp(App)
  return {
    app
  }
}
// #endif